-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
local angular distributions #36
Conversation
…hlight into jmm/local-angular-distributions
Four species transport now supported. To use do the following:
Below is the fornax 1 zone equilibrium test run with nue, nuebar, nux, nuxbar: Note that with four species, at fixed particle number, fewer monte carlo packets are carrying electron number, so to get good Ye values, you may need to add roughly 25% more particles. |
important paper also for this MR https://arxiv.org/abs/2304.05044 |
…e to pull out the ability to get the bin indices
This MR is ready. @kelslund @payelmuk150 please review. |
core/oscillations.c
Outdated
#pragma omp atomic | ||
local_angles[b][ix1][ix2][ph->type][icosth[b]] += ph->w; | ||
#pragma omp atomic | ||
local_stddev[b][ix1][ix2][icosth[b]] += 1.; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Standard deviation formula needs to be modified to the more general form
@@ -298,6 +298,9 @@ void diag(int call_code) { | |||
get_time_per_step(TIMER_ALL)); | |||
#if ELECTRONS | |||
fprintf(ener_file, "%15.8g ", get_time_per_step(TIMER_ELECTRON)); | |||
#endif | |||
#if NEUTRINO_OSCILLATIONS || LOCAL_ANGULAR_DISTRIBUTIONS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the difference between these two conditions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One can compute G, A, B, etc without actually running the oscillations code. So NEUTRINO_OSCILLATIONS
requires LOCAL_ANGULAR_DISTRIBUTIONS
but not vice versa. Would be sufficient to include only the latter, but I was being careful.
@kelslund thanks for the review! Have you made it through the whole thing? And if so, do you approve? (If so click the "finalize review" button on the top right of the diffs tab and click approve) |
PR Summary
Add local angular distributions code in support of neutrino oscillations. This machinery is intended to find electron lepton number crossings. See, e.g.,
https://arxiv.org/abs/2404.17938
PR Checklist